Method and apparatus for interactive video on demand

ABSTRACT

Method and apparatus for generation of interactive programming. An interactive programming server embeds interactive components into a video signal. The interactive programming server receives content from a content source and interactive components from an interactive component source and uses the content and interactive components to generate an interactive Video On Demand (iVOD) interactive program. The iVOD interactive program is transmitted to a participant who views the content and interacts with the interactive components of the iVOD interactive program. The participant&#39;s responses to the content is transmitted back to the interactive programming server where the participant responses are incorporated into new content which is used to generate new iVOD interactive programming.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is related to U.S. patent application Ser. No. 10/123,618, entitled “METHOD AND APPARATUS FOR INTERNET-BASED INTERACTIVE PROGRAMMING” and U.S. patent application Ser. No. 10/222,461, entitled “METHOD AND APPARATUS FOR INTERACTIVE PROGRAMMING USING CAPTIONING” and the contents of both related patent applications are incorporated by reference as if stated fully herein.

BACKGROUND OF THE INVENTION

[0002] This invention pertains generally to the field of interactive programming and more specifically to creating interactive video-on-demand programming for distribution over a variety of communication media.

[0003] Broadcast media, such as television, have traditionally been limited to serial processes where a program is broadcast to a viewer in an audience with limited opportunities, such as calling in over a telephone line to talk to a talk show host, for the viewer to participate in the program. The evolution to a more interactive form of broadcast media, or media where the viewer is allowed to participate, has been slow given the lack of bidirectional communication channels between the viewer and the program broadcaster.

[0004] When bidirectional communication channels are created, viewer participation has so far been limited to choosing program content, responding to advertising messages, and answering viewer questionnaires or polls. This is primarily because most interactive programming follows a conventional broadcast program paradigm wherein the programming is wrapped in advertisements; and the only responses needed from an audience are to view linear pre-recorded programs and to buy advertised items or services. Little has been done to fully involve the audience in a rich participatory experience where the audience has as much control and influence over the content of an interactive program as the originator of the interactive program. Such limited viewer participation is in contrast to the expectations of some viewers who want a richer and more satisfying participatory experience within the context of an interactive program.

[0005] Therefore, a need exists for a light-weight interactive programming system allowing for rich viewer participation which is easily integrated with existing content. The present invention meets such need.

SUMMARY OF THE INVENTION

[0006] In one aspect of the invention, an interactive programming server embeds interactive components into a video signal. The interactive programming server receives content from a content source and interactive components from an interactive component source and uses the content and interactive components to generate an interactive Video On Demand (iVOD) interactive program. The iVOD interactive program is transmitted through a communications medium to a participant who views the content and interacts with the interactive components of the iVOD interactive program. The participant's responses to the content is transmitted back to the interactive programming server where the participant responses are incorporated into new content which is used to generate new iVOD interactive programming.

[0007] In another aspect of the invention, the content is a television signal having a vertical blanking interval and the interactive program is generated by embedding the interactive component in the vertical blanking interval.

[0008] In another aspect of the invention, the content is a digital video signal and generating the interactive program includes encapsulating the interactive components in a first elementary stream of a digital video broadcast transport stream and adding the content to a second elementary stream of the video broadcast transport stream.

[0009] In another aspect of the invention, the communications medium may be a cable television network, a satellite television network, or a wide area network.

[0010] In another aspect of the invention, the participant response includes an audience approval rating of the interactive program.

[0011] In another aspect of the invention, the participant response includes an answer to a poll question.

[0012] In another aspect of the invention, the interactive component includes additional information about the content.

[0013] In another aspect of the invention, the interactive component is a uniform resource locator of a resource coupled to the interactive programming transceiver through a wide area network. The resource may be a Web site where a participant can complete a commercial transaction such as purchasing an advertised product.

[0014] In another aspect of the invention, the interactive component includes an advertisement.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015]FIG. 1 is a block diagram of an interactive programming process in accordance with an exemplary embodiment of the present invention.

[0016]FIG. 2 is a block diagram of a system for generating interactive programming for a single two-way communications channel in accordance with an exemplary embodiment of the present invention.

[0017]FIG. 3 is a process flow diagram of an interactive programming server process for generating interactive programming in accordance with an exemplary embodiment of the present invention.

[0018]FIG. 4 is a block diagram of an interactive programming server in accordance with an exemplary embodiment of the present invention.

[0019]FIG. 5 is a block diagram of an interactive programming transceiver in accordance with an exemplary embodiment of the present invention.

[0020]FIG. 6 is a deployment diagram depicting embedding interactive components in a digital video broadcast transport stream in accordance with an exemplary embodiment of the present invention.

[0021]FIG. 7 is a process flow diagram of an interactive programming server process used to generate iVOD interactive programming for a digital video broadcast transport stream in accordance with an exemplary embodiment of the present invention.

[0022]FIG. 8 is a deployment diagram depicting embedding interactive components in a television signal using a vertical blanking interval in accordance with an exemplary embodiment of the present invention.

[0023]FIG. 9 is a process flow diagram of an interactive programming server process used to generate iVOD interactive programming in accordance with an exemplary embodiment of the present invention.

[0024]FIG. 10 is a deployment diagram of a system for delivering interactive programming wherein the delivery medium is a wide area network in accordance with an exemplary embodiment of the present invention.

[0025]FIG. 11 is a block diagram of a system for generating interactive programming for multiple communications channels in accordance with an exemplary embodiment of the present invention.

[0026]FIG. 12 is a deployment diagram of a system for delivering interactive programming wherein a medium for a forward channel is broadcast television and a medium for a back channel is a telephone system in accordance with an exemplary embodiment of the present invention.

[0027]FIG. 13 is a deployment diagram of a system for delivering interactive programming wherein a medium for a forward channel is a satellite television network and a medium for a back channel is either a telephone system or a communications network in accordance with an exemplary embodiment of the present invention.

[0028]FIG. 14a is a block diagram of a system for the production of interactive programming in accordance with an exemplary embodiment of the present invention.

[0029]FIG. 14b is a block diagram of a post-production tool for generation of interactive programming content and interactive components in accordance with an exemplary embodiment of the present invention.

[0030]FIG. 15 is a diagram of the type of information including in interactive components in accordance with an exemplary embodiment of the present invention.

[0031]FIG. 16 is a block diagram of iVOD content including interactive features in accordance with an exemplary embodiment of the present invention.

[0032]FIG. 17 is a block diagram of iVOD interactive programming including chapter features in accordance with an exemplary embodiment of the present invention.

[0033]FIG. 18 is a sequence diagram of an iVOD interactive programming generation process in accordance with an exemplary embodiment of the present invention.

[0034]FIG. 19 is a diagram depicting a process for receiving participant reactions to an interactive program and calculating an audience approval system rating for an interactive program in accordance with an exemplary embodiment of the present invention.

[0035]FIG. 20 is a hardware architecture diagram of a data processing system suitable for use as an interactive programming host in accordance with an exemplary embodiment of the present invention.

DETAILED DESCRIPTION

[0036]FIG. 1 is a block diagram of an interactive programming process in accordance with an exemplary embodiment of the present invention. An interactive programming producer 100 generates media content 102 for transmission and presentation to a participant 104. The media content can be for any purpose, such as for entertainment or educational purposes. Associated with the content are interactive components 106 that are also transmitted to the participant. The combination of the content and associated interactive components are herein termed interactive programming. In operation, the participant observes the content and interacts with the interactive components and the participant's interactions 108 are then transmitted back to the producer.

[0037] In this embodiment of an interactive programming process, an interactive programming environment includes two communications channels. In a first or forward channel, interactive programming is transmitted by a producer to a participant. In a second or back channel, a participant's reactions to the interactive programming are transmitted from the participant to the producer. The communications channels may be included in a single medium capable of managing high bandwidth communications in two directions, or may be distributed across multiple media with each medium providing a separate portion of the interactive programming in a distributed manner.

[0038]FIG. 2 is a block diagram of a system for generating interactive programming for distribution over a single communication medium in accordance with an exemplary embodiment of the present invention. A producer provides media content 102 and specifications for interactive components 106 for processing in an interactive programming server 200. The interactive programming server receives the content and specifications for interactive components and uses them to generate interactive programming that is transmitted to an interactive programming transceiver device 202 through a forward channel 203. The interactive programming transceiver device separates the content from the interactive components of the interactive programming and generates a content presentation 204 that is presented to a participant. The participant responds to the content presentation and interacts with the interactive components using a user input device 206 to provide participant responses to the interactive programming transceiver which then transmits the participant responses to a participant response receiver 210 through a back channel 208 included in the same medium as the forward channel. The participant responses are then transmitted to the interactive programming server which uses the participant responses along with the content and interactive components to generate new interactive programming that is transmitted to the interactive transceiver device for presentation to the participant. This process is repeated continuously as a processing loop 212 to generate a continuous transmission of interactive programming.

[0039]FIG. 3 is a process flow diagram of an interactive programming generation process as implemented in an interactive programming server in accordance with an exemplary embodiment of the present invention. An interactive programming server process 310 receives (312) content from a content source 314 and receives (316) interactive components from an interactive component source 318. The interactive programming server process combines (320) the content and interactive components to create interactive programming for transmission to a participant. The interactive programming server process then transmits (322) the interactive programming to the participant.

[0040] After a participant interacts with the interactive components of the interactive programming, the interactive programming server process receives (324) participant responses 326. The interactive programming server then receives (328) additional content from the content source and modifies (330) the additional content using the participant responses. The process then repeats (332) in a loop indefinitely thus producing a continuous source of interactive programming for use by a participant.

[0041]FIG. 4 is an architecture diagram of an interactive programming server in accordance with an exemplary embodiment of the present invention. An interactive programming server 200 includes a participant response content generator 333 that generates participant response content using participant responses received by a participant response receiver 210 coupled to a back channel included in a communications medium 348. The participant response content is combined with content received from a content source 314 to create interactive programming content by an interactive content generator 334. The interactive programming content is then transmitted to an interactive programming content encoder that encodes the interactive programming content into a format suitable for transport through a forward channel in the communications medium. The interactive programming server also includes an interactive component encoder 338 that receives interactive components from an interactive component source 318. The interactive component source includes a plurality of independent data feeds as exemplified by a first data feed 339 and a second data feed 340. The data feeds correspond to differing types of interactive components that may be used in an interactive program. The interactive component encoder encodes the interactive components into a data format suitable for transport through a forward channel in the communications medium. The encoded interactive programming content and encoded interactive components are then combined by transport medium multiplexer 341 to generate interactive programming 342 that is ultimately transmitted to the participant through communications medium.

[0042] In one interactive programming server in accordance with an exemplary embodiment of the present invention, the output of the interactive programming content encoder is a MPEG-2 encoded data stream. The output of the interactive component encoder is an UDP/IP data stream. These data streams are received by the transport multiplexer that generates the interactive programming by encapsulating the UDP/IP data stream along with the MPEG-2 data stream for inclusion in a Digital Video Broadcast (DVB) transport stream. A suitable commercially available transport multiplexer is a model TMX-2010 Transport Multiplexer available from Motorola, Inc. of Schaumburg Ill., USA.

[0043] In other interactive programming servers in accordance with exemplary embodiments of the present invention, other transport multiplexers may be used. For example, transport multiplexers accepting inputs in the form of MPEG-4 streams or transport multiplexers generating a transport stream suitable for transmission using the DOCSIS standard may also be used.

[0044]FIG. 5 is a block diagram of an interactive programming transceiver in accordance with an exemplary embodiment of the present invention. An interactive transceiver 202 includes a transport medium demultiplexer 352 that receives interactive programming from a forward channel included in a communications medium 348. The transport medium demultiplexer separates the content and interactive components of an interactive program. The content is transmitted to a content decoder 358 that decodes the content into a format suitable for internal representation of the content for further processing. The interactive components of the interactive program are transmitted to a system controller 360. The system controller uses the interactive components to generate participant interface content that may be recombined with the decoded content in a content processor 362. The decoded content and any combined participant interface content are then transmitted to a presentation device encoder 364 that encodes the decoded content and any combined participant interface content into a format suitable for transmission to a presentation device 366.

[0045] The system controller is also coupled to a peripheral interface 368 having a user input device controller 370 for reception of participant responses transmitted by a user input device 372. A participant uses the user input device to transmit the participant's response to the presentation of the content. The system controller receives the participant's responses and uses a data communication interface 374 having a first communication device 376 to transmit the participant responses to the interactive programming server through a back channel included in the communications medium. Alternatively, the communications device may transmit the participant responses to the interactive programming server through a separate back channel communications medium 378. A suitable commercially available interactive programming transceiver is a DCT2000 set-top terminal available from Motorola, Inc. of Schaumburg Ill., USA.

[0046]FIG. 6 is a deployment diagram depicting embedding interactive components in a DVB transport stream in accordance with an exemplary embodiment of the present invention. An interactive programming host 400 is coupled to a content source 408 and an interactive component source 410 as previously described. An interactive programming server 406 hosted by the interactive programming host embeds interactive components from the interactive component source into a DVB transport stream signal 636. The DVB transport stream includes a plurality of elementary streams, with each elementary stream corresponding to a separate program. In one embodiment of interactive programming in accordance with an exemplary embodiment of the present invention, the interactive components are included in a first elementary stream 638 while the interactive programming content is included in a second elementary stream 640.

[0047] Once the interactive programming server has generated the interactive programming, the interactive programming host uses a DVB network interface or cable head 630 to transmit the interactive programming over a DVB network 632 to a participant's digital set-top box 634. The DVB signal is received by the set-top box and the interactive programming content and interactive components are separated out of the DVB transport stream and processed as previously described.

[0048]FIG. 7 is a process flow diagram of an interactive programming server process used to generate iVOD interactive programming for a DVB transport stream in accordance with an exemplary embodiment of the present invention. An interactive programming server process 648 receives (650) content from a content source 408 and receives (652) interactive components from an interactive component source 410. The interactive programming server process converts the content into a digital video signal and encapsulates the interactive components into a DVB transport stream to generate (654) iVOD interactive programming. The interactive programming server process then transmits (656) the iVOD interactive programming to the participant.

[0049] After a participant interacts with the interactive components of the iVOD interactive programming, the interactive programming server receives (658) participant responses 618. The interactive programming server then receives (660) additional content from the content source and modifies (662) the content using the participant responses. The process then repeats (664) in a loop indefinitely thus producing continuous source of iVOD interactive programming for use by a participant.

[0050]FIG. 8 is a deployment diagram depicting a system using interactive components embedded in a vertical blanking interval of a television signal in accordance with an exemplary embodiment of the present invention. An interactive programming host 400 is coupled to a content source 408 and an interactive component source 410 as previously described. An interactive programming server 406 hosted by the interactive programming host embeds interactive components from the interactive component source into a Vertical Blanking Interval (VBI) of a television signal 500 in text fields that are specified in a VBI encoding standard. In one embodiment of interactive programming in accordance with an exemplary embodiment of the present invention, the interactive components are included in a first field 504 and a second field 506. The first field includes a first captioning information 508 and a second captioning information 510 text stream. Field 2 includes a third captioning information 512 and a fourth captioning information 514 text string as well as eXtended Data Service (XDS) information 516 encoded in a series of packets. The fields are described in table 1a and table 1b below. TABLE 1a Field 1 Packets Name Field Data Channel Description CC1 1 1 Primary Synchronous Caption Service CC2 1 2 Special Non-Synchronous Use Captions T1 1 1 First Text Service T2 1 2 Second Text Service

[0051] TABLE 1b Field 2 Packets Name Field Data Channel Description CC3 2 1 Secondary Synchronous Caption Service CC4 2 2 Special Non-Synchronous Use Captions T3 2 1 Third Text Service T4 2 2 Fourth Text Service XDS eXtended Data Services

[0052] There are several different classes of XDS packets encapsulating information about a broadcast program. For example, defined XDS packet classes include Current Class (information about the current program such as the title, length, rating, elapsed time, audio services, caption services, and aspect ratio), Future Class (the same information for an upcoming program), Channel Information Class (information such as the network name, station call letters, native channel number and tape delay), Miscellaneous Class (containing the time of day and the local time zone) and Public Service Class (severe weather warnings). In addition, Reserved and Undefined Classes are set aside for future expansion and proprietary applications.

[0053] A complete definition of a XDS packets may be found in Recommended Practice for Line 21 Data Service, Electronics Industries Association, EIA-608 (drafts Oct. 12, 1992 and Jun. 17, 1993).

[0054] The text fields may also be used to encode links to other types of data. For example, if the interactive programming system includes an Internet Protocol (IP) back channel, the links may be in the form of Uniform Resource Locators (URLs). Such a link is herein termed a “trigger”. In one interactive programming system in accordance with an exemplary embodiment of the present invention, a trigger 518 includes a URL field for specifying the URL of a resource in an IP network, a type field for specifying what type of network is used to access the URL, a name field for a display name used for the resource, a version field for specifying the version of the trigger, and a check sum field used to confirm that the trigger was accurately transmitted to a participant's STB 432.

[0055] Once the interactive programming server has generated the interactive programming, the interactive programming host uses a cable television network interface 430 to transmit the interactive programming to the participant's STB.

[0056]FIG. 9 is a block diagram of an interactive programming server process used to generate iVOD interactive programming in accordance with an exemplary embodiment of the present invention. An interactive programming server process 600 receives (601) content from a content source 408 and receives (602) interactive components from an interactive component source 410. The interactive programming server process converts the content into a television signal and embeds (604) the interactive components into the VBI of the television signal to generate iVOD interactive programming. The interactive programming server process then transmits 606 the iVOD interactive programming to the participant.

[0057] After a participant interacts with the interactive components of the iVOD interactive programming, the interactive programming server receives (617) participant responses 618. The interactive programming server then receives (620) additional content from the content source and modifies (622) the content using the participant responses. The process then repeats (624) in a loop indefinitely thus producing continuous source of iVOD interactive programming for use by a participant.

[0058]FIG. 10 is a deployment diagram of a system for delivering interactive programming wherein the delivery medium is a wide area network in accordance with an exemplary embodiment of the present invention. An interactive programming server 200 is hosted by an interactive programming host 400 that is operably coupled to a communications network 402. A participant host 422 coupled to the communications network hosts a participant client 424. In the case where the communications network is the Internet, the participant client may be a Web browser or other client capable of communicating using the IP suite of communications protocols. In such a system, the Internet is a medium including both a forward channel used to transmit interactive programming to a participant 104 and a back channel used to transmit participant responses back to the interactive programming server.

[0059]FIG. 11 is a block diagram of a system for generating interactive programming for multiple communications channels in accordance with an exemplary embodiment of the present invention. In this system, content presentation functions and user input functions of an interactive programming transceiver as illustrated in FIG. 2 are separated and distributed across more than one device, with each device having its own communication medium. As previously described, a content producer provides content 102 and interactive components 106 to an interactive programming server 200 as before. However, instead of generating interactive programming including both content and interactive programming, the interactive programming server generates interactive programming content for transmission through a forward channel 201 to a content receiver 300. The content receiver receives the content and generates a content presentation 204 for presentation to a participant. The participant uses a separate communications device to transmit participant responses through a back channel 208 to the participant response receiver 210 for use by the interactive programming server in generating new interactive programming in an iterative process. Thus, an interactive programming loop 212 may be maintained by coordination of the transmission of content through a forward channel to a participant and receiving participant responses to the content through a back channel wherein the forward and back channels are carried by different media.

[0060]FIG. 12 is a deployment diagram of a system for delivering interactive programming wherein a medium for a forward channel is broadcast television and a medium for a back channel is a telephone system in accordance with an exemplary embodiment of the present invention. As noted previously, multiple communications media may be used to transmit interactive programming to a participant through a forward channel and receive resultant participant responses through a back channel. In this configuration, the interactive programming host is coupled to a participant television 426 through a broadcast television network 446 by a broadcast television network interface 448. The interactive programming server may then use the broadcast television network to transmit interactive programming to the participant television.

[0061] The interactive programming host is also coupled to a telephone network 443 by a telephone network interface 444. As such, the interactive programming server may receive participant responses from the participant using a participant telephone 440 through the telephone network. In this system, the back channel for participant responses is carried on the telephone network communications medium.

[0062] In one embodiment of interactive programming in accordance with an exemplary embodiment of the present invention, the interactive programming is associated with its own telephone extension number. In this embodiment of interactive programming, a participant dials a telephone number to access a Private Branch eXchange (PBX) telephone system and then the participant enters the extension number associated with the interactive program.

[0063]FIG. 13 is a deployment diagram of a system for delivering interactive programming wherein a medium for a forward channel is a satellite television network and a medium for a back channel is either a telephone system or a communications network in accordance with an exemplary embodiment of the present invention. In this system, the interactive programming host 400 is coupled to a participant television 426 through a satellite television network 1300 by a satellite television network interface 1302. The interactive programming server may then use the satellite television network to transmit interactive programming to the participant television through a satellite television network STB 1304.

[0064] The interactive programming host is also coupled to a telephone network by a telephone network interface 444. The satellite television network STB uses the telephone network to transmit participant responses to the interactive programming host. In this system, the back channel for participant responses is carried on the telephone network communications medium.

[0065] In another system for delivering interactive programming wherein a medium for a forward channel is satellite television network in accordance with an exemplary embodiment of the present invention, the back channel is a communications network, such as wide area network 402. In this system, the interactive programming host is coupled to the communications network and the satellite television network STB transmits participant responses to the interactive programming host via the communications network.

[0066]FIG. 14a is a block diagram of a system for the production of interactive programming in accordance with an exemplary embodiment of the present invention. The system provides user interface features allowing an interactive programming producer 100 to produce interactive programming for transmission to a participant. The system includes an interactive programming host 400 coupled to a communications network 402 such as the Internet. The interactive programming host hosts a user interface server 404 for management of user interfaces used by both the participant and the producer. The interactive programming host also hosts an interactive programming server 200 for generation of interactive programming using content from a content source 314 and interactive components from an interactive component source 318. The interactive programming host is further coupled to a database 412 for storage of information about participants 414 and information about producers 416. As the interactive programming host is coupled to a communications network, a producer may access the user interface server using the communications network and a producer client 418 hosted by a producer host 420.

[0067] In operation, the producer uses the producer client to access the user interface server via the communications network. Through a series of user interactions, the producer configures an interactive program by specifying content and interactive components. The interactive programming is then transmitted by the interactive programming server to a participant using a forward channel as previously described. The participant transmits participant responses back to the interactive programming server via a back channel as previously described. The interactive programming host may be coupled to multiple communications media which carry forward channels and back channels in various combinations.

[0068] The above described interactive programming systems may be used to deliver interactive programming having a variety of different purposes and structures. In one interactive programming system in accordance with an exemplary embodiment of the present invention, the interactive programming system is used to distribute interactive programming in the form of talk shows. Such an interactive programming system is more fully described in U.S. patent application Ser. No. 10/123,618, entitled “METHOD AND APPARATUS FOR INTERNET-BASED INTERACTIVE PROGRAMMING” and U.S. patent application Ser. No. 10/222,461, entitled “METHOD AND APPARATUS FOR INTERACTIVE PROGRAMMING USING CAPTIONING”. One feature of the interactive programming system used to generate and distribute talk shows is that creators of the talk shows may archive their talk shows for later presentation in “on-demand” style formats including interactive Video On Demand (iVOD). Other interactive programming content sources may include any programming source. For example, entertainment programs, educational programs, and political talk shows can be enhanced to create iVOD interactive programming.

[0069] iVOD is a medium that exploits the ability to embed interactive components in a television or video signal. For an analog television signal, a Vertical Blanking Interval (VBI) is used to embed interactive components in the televison signal. The interactive components may be included in closed captioning text streams that are part of the VBI in the television signal. For a digital video signal, the interactive components are embedded as in the transport medium along with interactive programming content.

[0070]FIG. 14b is a block diagram of a software tool for generation of interactive programming content and interactive components in accordance with an exemplary embodiment of the present invention. Production of the interactive programming is a multistep process. A producer 100 obtains previously produced programming 1400 and adds additional programming 1402 to generate content 102 and interactive components 106 using a post-production tool 1404. The post-production tool allows the producer to edit the previously produced programming and synchronize the additional programming to the previously produced programming as embedded interactive components. Once the content and interactive programming are generated, they may be stored and distributed to the participant in an “on-demand” mode through various distribution channels and broadcast media.

[0071] The post-production tool provides a variety of services to the producer such as separate audio and text tracks with embedded time codes that may be synchronized with the content. The post-production tool may also be used to combine additional programming with the previously produced programming as a video signal embedded in the content. In addition, the post-production tool allows the creation of interactive components, such as polls that offer two, three, or four choice formats with a simple text entry user interface. Finally, the post-production tool allows the creation of time coded tcommerce links for product placement as an interactive component.

[0072]FIG. 15 is a diagram of the type of information including an interactive components in accordance with an exemplary embodiment of the present invention. The interactive components may include multiple datafeeds that are synchronized with the content of an interactive program. In the example, the content is included as a transcript 607 in order to illustrate synchronization of the datafeeds with the content. A first datafeed 608 includes “pop-up facts” about the subject matter of the content. A second datafeed 610 includes additional information about the subject matter of the content. A third data feed 612 includes comments and poll results from participants in the interactive programming. A fourth datafeed 614 includes proposals for commercial transactions. Each of the datafeeds may either include information directly or may include links as triggers to other data resources as previously described.

[0073]FIG. 16 is a block diagram of iVOD content including interactive features in accordance with an exemplary embodiment of the present invention. iVOD content served by an interactive programming host can be accessed by a viewer over a communications network, a computer network, a satellite television network, or a cable television network. The use of a television signal provides the capability to embed the interactive programming components of the interactive programming in a vertical blanking interval of the television signal as well as captioning information as previously described. For example, as illustrated in table 1a above, captioning information may be included in the CC1, CC2, CC3, and CC4 field. In accordance with an exemplary embodiment of the present invention, an iVOD interactive program includes a content signal 700 and a plurality of interactive components embedded in the CC1, CC2, CC3, and CC4 fields. In this exemplary iVOD interactive program, the CC1 field 702 includes a standard transcript 704 while the CC2 field 705 includes additional information 706 about a subject of the interactive programming content signal, and the CC3 field 707 and the CC4 field 710 include commerce or “tcommerce” links 708 such or trigger 712 including URLs to ecommerce locations on the Internet. In this way, a producer can provide additional enhanced content to a viewer of previously produced interactive programming.

[0074] In addition to the interactive components embedded in the CC fields, the interactive program further includes a field or “ticker” 714 for display of information that is constantly updated based on participant responses to the iVOD content. This ticker can include information such as audience approval ratings for the iVOD program and participant polling responses.

[0075]FIG. 17 is a block diagram of iVOD interactive programming including chapter features in accordance with an exemplary embodiment of the present invention. A chapter feature 800 of the iVOD interactive programming is used by a participant to select portions of iVOD interactive programming served by an interactive programming server that a participant may wish to participate in. A chapter feature includes a chapter menu 800 that is presented to a participant. The chapter menu includes a plurality of selectable chapter icons, such as chapter icons 802, 804, and 806. A participant selects a chapter icon and the participant's selection 808 is transmitted back to the interactive programming server which then transmits a chapter portion 810 of the iVOD interactive programming back to the participant for viewing. In a like manner, chapter icon 804 corresponds to iVOD interactive programming chapter portion 812 and chapter icon 806 corresponds to iVOD interactive programming chapter portion 814.

[0076] In one embodiment of iVOD interactive programming, a participant uses a guest selector 816 to search for iVOD programming generated for a particular subject such as a talk show featuring a particular guest. The participant can access programming for a particular interview guest by selecting a pull down menu 820 listing the names of guests. Once selected, the guest name appears in a guest name field 818 and iVOD interactive programming is made available to the participant wherein the iVOD interactive programming features the guest. iVOD interactive programming may also be searched for having other features. For example, iVOD interactive programming may be proposed for a participant knowing that some participants searched for a particular guest also searched for another related guest. As another example, the iVOD interactive programming may be searched for specific events such as unexpected or notable statements by guests during a talk show. As another example, participants may select iVOD programming from a list of “top-ten” programming segments.

[0077]FIG. 18 is a sequence diagram of an iVOD interactive programming generation process in accordance with an exemplary embodiment of the present invention. A participant uses a participant STB 432 to access an interactive programming host 400 and transmits a request 920 for iVOD interactive programming. The interactive programming host accesses content from a content source 408 including chapter information and retrieves chapter information 922 for the requested iVOD interactive programming. The interactive programming host uses the chapter information to generate a chapter menu 900 having a list of selectable chapters as previously described. The user makes a chapter selection 928 from the chapter menu using the participant STB and transmits the chapter selection back to the interactive programming host. The interactive programming host uses the chapter selection to access and retrieve iVOD interactive programming content 930 and interactive components 934 from an interactive component source 410. The interactive programming server uses the content and interactive components to generate (938) an iVOD interactive programming signal 940 that is transmitted to the participant STB for viewing by the participant. The participant STB receives 944 participant responses 946 to the content portion of the iVOD interactive programming and transmits the participant responses to the interactive programming host. If a participant selects a link from a trigger to a commerce site, the participant STB transmits a request 948 to the commercial site as specified in the trigger.

[0078] The types of interactive components that may be included in iVOD interactive programming varies depending on the desires of a producer. In one iVOD interactive program in accordance with an exemplary embodiment of the present invention, a producer may include participant polls in a datafeed of the interactive components. Participants may answer the poll and the interactive programming host tabulates the participant's responses and includes them in the content portion of the interactive programming as a “ticker” that is constantly updated.

[0079] In another iVOD interactive program in accordance with an exemplary embodiment of the present invention, a producer may embed “Easter eggs” in the interactive components of an iVOD interactive program. A participant looks for the Easter eggs and once found, the Easter eggs unlock special features like audio messages from a producer or a chance to win a prize from a sponsor. In addition, participants may visit a Web site to get information on how to unlock special bonus material in exchange for registration information or viewing an advertisement.

[0080] In another iVOD interactive program in accordance with an exemplary embodiment of the present invention, a producer may include archival historical footage related to a specific iVOD interactive program.

[0081] In another iVOD interactive program in accordance with an exemplary embodiment of the present invention, a producer may include opposition running commentary. For example, an opposing view point may be presented during a politically oriented iVOD interactive program.

[0082] In another iVOD interactive program in accordance with an exemplary embodiment of the present invention, a producer may include on-camera pre-screening interviews of talk show guests.

[0083] In another iVOD interactive program in accordance with an exemplary embodiment of the present invention, a producer may include diagrams of a particular structure being discussed, such as diagrams of architecturally significant buildings during a presentation on architecture.

[0084] In another iVOD interactive program in accordance with an exemplary embodiment of the present invention, a producer may include behind-the scenes footage of the production of the iVOD interactive program.

[0085] In another iVOD interactive program in accordance with an exemplary embodiment of the present invention, a producer may include featurettes such as a documentary on a day in the life of a celebrity.

[0086] In another iVOD interactive program in accordance with an exemplary embodiment of the present invention, a producer may include triggers used for television Commerce (tCommerce) transactions.

[0087] In another iVOD interactive program in accordance with an exemplary embodiment of the present invention, a producer may include advertisements that a participant may view at their discretion. In addition, the advertisements may be linked to other information or tCommerce sites through the use of triggers.

[0088] In another iVOD interactive program in accordance with an exemplary embodiment of the present invention, a producer may include pop-up trivia facts including questions that a participant may answer. Answers from a plurality of participants may be collected as participant responses by the interactive programming server and scored so that a participant can see how the participant's performance in answering the questions compared to other participants.

[0089]FIG. 19 is a diagram depicting a process for receiving participant reactions to an interactive program and calculating an audience approval system rating for an interactive program in accordance with an exemplary embodiment of the present invention. A producer 100 generates an interactive program and transmits the interactive program to a plurality of participants as exemplified by participants 1100, 1102 and 1103. Each participant may have a different opinion of the quality of the interactive program; therefore, each participant is provided with an individual audience approval system button as exemplified by audience approval system buttons 1106, 1108, and 1110. Each participant selects an audience approval system rating button corresponding to the participant's subjective rating of the interactive program. The selection of an audience approval system button transmits a corresponding audience approval system signal to the interactive programming host (not shown) thus creating a plurality of audience approval system signals for evaluation by the interactive programming host. The interactive programming host receives the plurality of audience approval system signals and uses them to generate a single audience approval system rating signal and transmits the audience approval system rating signal for display with the interactive programming content.

[0090] In an audience approval system in accordance with an exemplary embodiment of the present invention, an audience approval system signal can take on three states, 1112, 1114, and 1116, with each state representing a participant's subjective opinion of the interactive program. In this embodiment, the three states are mapped to the corresponding numeric values of “100”, “50”, and “0”, with “100” representing a participant's complete satisfaction with the interactive program, “50” representing the participant's partial satisfaction with the interactive program, and “0” representing the participant's complete dissatisfaction with the interactive program. Each of the plurality of audience approval system signals are mapped to one of these numeric values. These numeric values are used to generate an arithmetic mean representing the audience approval system rating of the interactive program. In the illustrated example of FIG. 11, participant 1100 rates the interactive program at “100”, participant 1102 rates the interactive program at “50”, and participant 1104 rates the interactive program at “100”. These values are used by the interactive programming host to generate (1118) an arithmetic mean 1120 of the plurality of mapped participants' audience approval system signals. The arithmetic mean is presented to the participants as the audience approval system rating of the producer's interactive program. In one audience approval system in accordance with an exemplary embodiment of the present invention, the audience approval system rating is mapped to a color, with the numeric value of “100” being represented in green, the numeric value of “50” being represented in yellow, and the numeric value of “0” being represented in red.

[0091]FIG. 20 is a hardware architecture diagram of a data processing system suitable for use as an interactive programming host in accordance with an exemplary embodiment of the present invention. A data processing system includes a processor 1200 operatively coupled via a system bus 1202 to a main memory 1204 and an I/O control unit 1206. The I/O interface control unit is operatively coupled via an I/O local bus 1208 to a storage controller 1210, and a network communications controller 1212. A communications device 1214 is operatively coupled to the network communications controller and is adapted to allow software objects hosted by the data processing system to communicate via a network with other software objects.

[0092] The storage controller is operatively coupled to a storage device 1216. Computer program instructions 1218 implementing an interactive programming server are stored on the disk storage device until the processor retrieves the computer program instructions and stores them in the main memory. The processor then executes the computer program instructions stored in the main memory to implement the interactive programming server.

[0093] Although this invention has been described in certain specific embodiments, many additional modifications and variations would be apparent to those skilled in the art. It is therefore to be understood that this invention may be practiced otherwise than as specifically described. Thus, the present embodiments of the invention should be considered in all respects as illustrative and not restrictive, the scope of the invention to be determined by any claims supportable by this application and the claims' equivalents. 

What is claimed is:
 1. A method of generating an interactive program by an interactive programming server for transmission to an interactive programming transceiver, comprising: receiving content for an interactive program by the interactive programming server; receiving a participant response by the interactive programming server from the interactive programming transceiver through a back channel; generating interactive program content by the interactive programming server using the content and the participant response; receiving an interactive component by the interactive programming server; generating the interactive program by the interactive programming server using the interactive program content and the interactive component; and transmitting the interactive program by the interactive programming server to the interactive programming transceiver through a forward channel.
 2. The method of claim 1, wherein the content is a television signal having a vertical blanking interval and the interactive program is generated by embedding the interactive component in the vertical blanking interval.
 3. The method of claim 1, wherein the content is a digital video signal and generating the interactive program further includes: encapsulating the interactive components in a first elementary stream of a digital video broadcast transport stream; and adding the content to a second elementary stream of the video broadcast transport stream.
 4. The method of claim 1, wherein the forward channel and the back channel are included in a communications medium.
 5. The method of claim 4, wherein the communications medium is a cable television network.
 6. The method of claim 4, wherein the communications medium is a wide area network.
 7. The method of claim 1, wherein the forward channel is included in a first communication medium and the back channel is included in a second communications medium.
 8. The method of claim 7, wherein the first communications medium is a satellite television network.
 9. The method of claim 7, wherein the second communications medium is a wide area network.
 10. The method of claim 7, wherein the second communications medium is a telephone network.
 11. The method of claim 1, wherein the participant response includes an audience approval rating.
 12. The method of claim 1, wherein the participant response includes an answer to a poll question.
 13. The method of claim 1, wherein the interactive component includes additional information about the content.
 14. The method of claim 1, wherein the interactive component is a uniform resource locator of a resource coupled to the interactive programming transceiver through a wide area network.
 15. The method of claim 1, wherein the interactive component includes an advertisement.
 16. A data processing apparatus for generating an interactive program by an interactive programming server for transmission to an interactive programming transceiver, comprising: a processor; and a memory coupled to the processor, the memory having program instructions executable by the processor stored therein, the program instructions including: receiving content for an interactive program by the interactive programming server; receiving a participant response by the interactive programming server from the interactive programming transceiver through a back channel; generating interactive program content by the interactive programming server using the content and the participant response; receiving an interactive component by the interactive programming server; generating the interactive program by the interactive programming server using the interactive program content and the interactive component; and transmitting the interactive program by the interactive programming server to the interactive programming transceiver through a forward channel.
 17. The data processing apparatus of claim 16, wherein the content is a television signal having a vertical blanking interval and the interactive program is generated by embedding the interactive component in the vertical blanking interval.
 18. The data processing apparatus of claim 16, wherein the content is a digital video signal, the program instructions for generating the interactive program further including: encapsulating the interactive components in a first elementary stream of a digital video broadcast transport stream; and adding the content to a second elementary stream of the video broadcast transport stream.
 19. The method of claim 16, wherein the forward channel and the back channel are included in a communications medium.
 20. The data processing apparatus of claim 19, wherein the communications medium is a wide area network.
 21. The data processing apparatus of claim 19, wherein the communications medium is a cable television network.
 22. The method of claim 16, wherein the forward channel is included in a first communication medium and the back channel is included in a second communications medium.
 23. The data processing apparatus of claim 22, wherein the communications medium is a satellite television network.
 24. The method of claim 22, wherein the second communications medium is a wide area network.
 25. The method of claim 22, wherein the second communications medium is a telephone network.
 26. The data processing apparatus of claim 16, wherein the participant response includes an audience approval rating.
 27. The data processing apparatus of claim 16, wherein the participant response includes an answer to a poll question.
 28. The data processing apparatus of claim 16, wherein the interactive component includes additional information about the content.
 29. The data processing apparatus of claim 16, wherein the interactive component is a uniform resource locator of a resource coupled to the interactive programming transceiver through a wide area network.
 30. The data processing apparatus of claim 16, wherein the interactive component includes an advertisement. 